package dividendslog

import "yundian/internel/pkg/dingo"

type DividendsAttr func(model *DividendsLog)

type DividendsAttrs []DividendsAttr

func (attrFunc DividendsAttrs) Apply(model *DividendsLog)  {
	for _,f := range attrFunc {
		f(model)
	}
}

func WithId(id int) DividendsAttr {
	return func(model *DividendsLog) { model.Id = id }
}

func WithSharedMode(sharedMode string) DividendsAttr {
	return func(model *DividendsLog) { model.SharedMode = sharedMode }
}

//func WithSettMoney(settMoney int64) DividendsAttr {
//	return func(model *DividendsLog) { model.SettMoney = settMoney }
//}
//
//func WithSettType(settType int8) DividendsAttr {
//	return func(model *DividendsLog) { model.SettType = settType }
//}
//
//func WithReturnMoney(returnMoney int64) DividendsAttr {
//	return func(model *DividendsLog) { model.ReturnMoney = returnMoney }
//}

func WithPayMoney(payMoney int64) DividendsAttr {
	return func(model *DividendsLog) { model.PayMoney = payMoney }
}

//func WithPayFrom(payFrom string) DividendsAttr {
//	return func(model *DividendsLog) { model.PayFrom = payFrom }
//}

//func WithUseTime(useTime int64) DividendsAttr {
//	return func(model *DividendsLog) { model.UseTime = useTime }
//}

func WithTradeNo(tradeNo string) DividendsAttr {
	return func(model *DividendsLog) { model.TradeNo = tradeNo }
}

//func WithOutTradeNo(outTradeNo string) DividendsAttr {
//	return func(model *DividendsLog) { model.OutTradeNo = outTradeNo }
//}

func WithDeviceSn(deviceSn string) DividendsAttr {
	return func(model *DividendsLog) { model.DeviceSn = deviceSn }
}

func WithMemberId(memberId string) DividendsAttr {
	return func(model *DividendsLog) { model.MemberId = memberId }
}

func WithMemberName(memberName string) DividendsAttr {
	return func(model *DividendsLog) { model.MemberName = memberName }
}

func WithPlaceId(placeId int) DividendsAttr {
	return func(model *DividendsLog) { model.PlaceId = placeId }
}

func WithPlaceName(placeName string) DividendsAttr {
	return func(model *DividendsLog) { model.PlaceName = placeName }
}

func WithUserId(userId int) DividendsAttr {
	return func(model *DividendsLog) { model.UserId = userId }
}

func WithUserName(userName string) DividendsAttr {
	return func(model *DividendsLog) { model.UserName = userName }
}

func WithPayAt(payAt dingo.Time) DividendsAttr {
	return func(model *DividendsLog) { model.PayAt = payAt }
}

//func WithSettAt(settAt dingo.Time) DividendsAttr {
//	return func(model *DividendsLog) { model.SettAt = settAt }
//}

func WithCreateAt(createAt dingo.Time) DividendsAttr {
	return func(model *DividendsLog) { model.CreateAt = createAt }
}

func WithUpdateAt(updateAt dingo.Time) DividendsAttr {
	return func(model *DividendsLog) { model.UpdateAt = updateAt }
}

//func WithRefundFee(refundFee int64) DividendsAttr {
//	return func(model *DividendsLog) { model.RefundFee = refundFee }
//}
//
//func WithRefundNo(refundNo string) DividendsAttr {
//	return func(model *DividendsLog) { model.RefundNo = refundNo }
//}
//
//func WithOutRefundNo(outRefundNo string) DividendsAttr {
//	return func(model *DividendsLog) { model.OutRefundNo = outRefundNo }
//}
//
//func WithTotalFee(totalFee int64) DividendsAttr {
//	return func(model *DividendsLog) { model.TotalFee = totalFee }
//}



